package IOStream.Exercise001;

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;

/**
 * ClassName:Exercise003
 * Package:IOStream.Exercise
 * Description:
 *
 * @Author:ZhangXin
 * @Create2023/3/2-17:21
 * @Version:v1.0
 */
public class Exercise003 {
    /**
     * 修改文件中的数据
     *
     *
     * 文本文件中有以下数据：
     * 2-1-9-4-7-8
     * 将文件中的数据进行排序,变成以下数据
     * 1-2-4-7-8-9
     *
     * 细节1：文件中的数据不要换行
     * 细节2：bom头
     *
     */
    public static void main(String[] args) throws IOException {
        //1.读取文件中数据
        FileReader fr = new FileReader("E:\\aaa\\d.txt");
        StringBuilder sb = new StringBuilder();
        int ch;
        while ((ch = fr.read()) != -1) {
            sb.append((char) ch);
        }
        fr.close();
        System.out.println(sb);
        //2.排序
        ArrayList<Integer> list = new ArrayList<>();
        String str = sb.toString();
        String[] arrStr = str.split("-");
        for (String s : arrStr) {
            int i = Integer.parseInt(s);
            list.add(i);
        }
        System.out.println(list);
        Collections.sort(list);//默认按照升序排序
        System.out.println(list);
        //3.写出
        FileWriter fw = new FileWriter("E:\\aaa\\dd.txt");
        for (int i = 0; i < list.size(); i++) {
            if (i==list.size()-1) {
                fw.write(list.get(i)+"");
            } else {
                fw.write(list.get(i)+"-");
            }
        }

        fw.close();

    }
}
